package com.ly.common.core.controller;

import cn.hutool.core.collection.CollectionUtil;
import com.github.pagehelper.PageInfo;
import com.ly.common.core.domain.R;
import com.ly.common.core.domain.TableDataInfo;

import java.util.List;

public class BaseController {
//    if(insert>0){
//        return R.ok();
//    }
//        return R.fail();

    /**
     * 操作结果转 R对象
     * @param rows 影响行数
     * @return R<Void>
     */
    public R<Void> toR(int rows){
        return rows>0 ?R.ok():R.fail();
    }

//        if(result){
//        return R.ok();
//    }
//        return R.fail();

    /**
     * 布尔结果转 R对象
     * @param result 布尔结果
     * @return R<Void>
     */
    public R<Void> toR(boolean result){
        return result ?R.ok():R.fail();
    }

    /**
     * 布尔结果转R对象(带数据)
     * @param result 布尔结果
     * @param data 返回数据
     * @return R<T>
     */
    protected <T> R<T> toR(boolean result, T data) {
        return result ? R.ok(data) : R.fail();
    }

    /**
     * 构建表格数据响应
     * @param list 数据列表
     * @return TableDataInfo
     */
    public TableDataInfo getTableDataInfo(List<?> list){
//        if (questionVOList==null||questionVOList.isEmpty())
        if  (CollectionUtil.isEmpty(list)){
            return TableDataInfo.empty();
        }
        //获取符合查询条件的数据总数
//        new PageInfo<>(list).getTotal();
//        return TableDataInfo.success(list,list.size());
        //从数据库中查询数据,不是从redis中查询数据
        return TableDataInfo.success(list,new PageInfo<>(list).getTotal());
    }
}
